package com.tanhua.server.service;

import com.tanhua.server.vo.PageResult;
import com.tanhua.server.vo.QuanZiVo;
import org.springframework.web.multipart.MultipartFile;

public interface QuanZiService {

    PageResult queryPublishList(Integer page, Integer pageSize);

    String savePublish(String textContent, MultipartFile[] imageContent, String location, String longitude, String latitude);

    PageResult queryRecommendPublishList(Integer page, Integer pageSize);

    /**
     * 给某一条朋友圈点赞
     *
     * @param publishId 被点赞的publishId
     * @return 该publish点赞数
     */
    Integer likeComment(String publishId);

    /**
     * 给某一条朋友圈取消点赞
     *
     * @param publishId 被取消点赞的publishId
     * @return 该publish点赞数
     */
    Integer disLikeComment(String publishId);

    /**
     * 喜欢
     *
     * @param publishId
     * @return
     */
    Integer loveComment(String publishId);

    /**
     * 取消喜欢
     *
     * @param publishId
     * @return
     */
    Integer unLoveComment(String publishId);

    /**
     * 查询单条动态信息
     *
     * @param publishId
     * @return
     */
    QuanZiVo queryById(String publishId);

    /**
     * 保存评论
     *
     * @param publishId
     * @param content
     */
    Boolean saveComment(String publishId, String content);

    /**
     * 根据某一条圈子查询其所以评论
     *
     * @param publishId
     * @param page
     * @param pageSize
     * @return PageResult中的items需要是一个List<CommentVo>
     */
    PageResult listComments(String publishId, Integer page, Integer pageSize);
}
